#ifndef __USB_TYPE_H
#define __USB_TYPE_H

#include "usb_conf.h"

#ifndef NULL
	#define NULL ((void *)0)
#endif

#define __STM32F10x_TYPE_H

#ifndef __STM32F10x_TYPE_H

	typedef signed long      s32;
	typedef signed short     s16;
	typedef signed char      s8;

	typedef volatile signed long      vs32;
	typedef volatile signed short     vs16;
	typedef volatile signed char      vs8;

	typedef unsigned long       u32;
	typedef unsigned short      u16;
	typedef unsigned char       u8;

	typedef unsigned long  const    uc32;  /* Read Only */
	typedef unsigned short const    uc16;  /* Read Only */
	typedef unsigned char  const    uc8;   /* Read Only */

	typedef volatile unsigned long      vu32;
	typedef volatile unsigned short     vu16;
	typedef volatile unsigned char      vu8;

	typedef volatile unsigned long  const    vuc32;  /* Read Only */
	typedef volatile unsigned short const    vuc16;  /* Read Only */
	typedef volatile unsigned char  const    vuc8;   /* Read Only */


	typedef enum
	{
	  FALSE = 0, TRUE  = !FALSE
	}
	bool;

	typedef enum { RESET = 0, SET   = !RESET } FlagStatus, ITStatus;

	typedef enum { DISABLE = 0, ENABLE  = !DISABLE} FunctionalState;

	typedef enum { ERROR = 0, SUCCESS  = !ERROR} ErrorStatus;

#endif

#endif /* __USB_TYPE_H */
